﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MDK.Device;

namespace MDK.Winform.UserControl.Config
{
    public class CameraParameter
    {
        public string MonikerString { get; set; }

        public string CameraName { get; set; }
        /// <summary>
        /// 亮度
        /// </summary>
        public int Brightness { get; set; }
        /// <summary>
        /// 对比度
        /// </summary>
        public int Contrast { get; set; }
        /// <summary>
        /// 色相
        /// </summary>
        public int Hue { get; set; }
        /// <summary>
        /// 饱和度
        /// </summary>
        public int Saturation { get; set; }
        /// <summary>
        /// 清晰度
        /// </summary>
        public int Sharpness { get; set; }
        /// <summary>
        /// 伽马
        /// </summary>
        public int Gamma { get; set; }
        /// <summary>
        /// 启用颜色
        /// </summary>
        public int ColorEnable { get; set; }
        /// <summary>
        /// 白平衡
        /// </summary>
        public int WhiteBalance { get; set; }
        /// <summary>
        /// 逆光对比
        /// </summary>
        public int BacklightCompensation { get; set; }
        /// <summary>
        /// 增益
        /// </summary>
        public int Gain { get; set; }
    }

    public class IdentificationCamera
    {
        public IdentificationCamera()
        {
            Center = new IdentificationStation();
            Pallet = new IdentificationStation();
            TubeType1 = new TubeTypeIdentifyFilter();
            TubeType2 = new TubeTypeIdentifyFilter();
        }

        public decimal CenterFilter { get; set; }
        public decimal NullFilter { get; set; }
        public IdentificationStation Center { get; set; }
        public IdentificationStation Pallet { get; set; }
        public TubeTypeIdentifyFilter TubeType1 { get; set; }
        public TubeTypeIdentifyFilter TubeType2 { get; set; }
    }

    public class IdentificationStation
    {
        public decimal X { get; set; }

        public decimal Y { get; set; }

        public decimal Width { get; set; }

        public decimal Height { get; set; }
    }
}
